/*
* Configuration of module: Dcm
*
* Created by:   qinminyuan
* Copyright:    (C)  
*
* Configured for (MCU):    MCU
*
* Module vendor:           ArcCore
* Generator version:       01.00
*/
#ifndef DCM_CFG_H_
#define DCM_CFG_H_

#define DCM_VERSION_INFO_API              STD_OFF
#define DCM_DEV_ERROR_DETECT              STD_OFF
#define DCM_RESPOND_ALL_REQUEST           STD_ON  // Activate/Deactivate response on SID 0x40-0x7f and 0xc0-0xff.
#define DCM_REQUEST_INDICATION_ENABLED    STD_ON  // Activate/Deactivate indication request mechanism.
#define DCM_PAGED_BUFFER_ENABLED           STD_OFF // Enable/disable page buffer mechanism (currently only disabled supported)

#define DCM_DSL_BUFFER_LIST_LENGTH        2
#define DCM_DSL_TX_PDU_ID_LIST_LENGTH        1
#define DCM_DSL_RX_PDU_ID_LIST_LENGTH        2

#define DCM_FIRST_PERIODIC_TX_PDU          DCM_DSL_TX_PDU_ID_LIST_LENGTH
#define DCM_NOF_PERIODIC_TX_PDU            5

#define DCM_MAIN_FUNCTION_PERIOD_TIME_MS     1

#define DCM_LIMIT_NUMBER_PERIOD_DATA        8   // MaxNumberofSimultaneousPeriodictransmissions
#define DCM_MAX_DDD_SOURCE_NUMBER          8   // TODO: MaxSourcesforOneDynamicIdentifier
#define DCM_MAX_DDD_NUMBER                8   // TODO

#define DCM_PERIODIC_TRANSMIT_SLOW            200
#define DCM_PERIODIC_TRANSMIT_MEDIUM          100
#define DCM_PERIODIC_TRANSMIT_FAST            50

#define DCM_SECURITY_EOL_INDEX           1

#define DCM_ID_Phys_DiagRx 0
#define DCM_ID_Func_DiagRx 1

#define DCM_ID_Phys_DiagTx 0

/* service used */
#define DCM_USE_SERVICE_ECU_RESET
#define DCM_USE_SERVICE_SECURITY_ACCESS
#define DCM_USE_SERVICE_COMMUNICATION_CONTROL
#define DCM_USE_SERVICE_TESTER_PRESENT
#define DCM_USE_SERVICE_READ_DATA_BY_IDENTIFIER
#define DCM_USE_SERVICE_WRITE_DATA_BY_IDENTIFIER
#define DCM_USE_SERVICE_CLEAR_DIAGNOSTIC_INFORMATION
#define DCM_USE_SERVICE_READ_DTC_INFORMATION
#define DCM_USE_SERVICE_DIAGNOSTIC_SESSION_CONTROL
#define DCM_USE_SERVICE_ROUTINE_CONTROL
#define DCM_USE_SERVICE_CONTROL_DTC_SETTING
#endif /*DCM_CFG_H_*/

